package com.haixiaoke.saas.common.constant;

/**
 *
 * 订单常量
 *
 * @author panda
 * @Date 2024/4/11
 **/
public class OrderConstants {

    /**
     * 存放redis缓存的订单key前缀
     */
    public static final String REDIS_ORDER_KEY = "order_id:";

    /**
     * 存放redis缓存的待付款订单key前缀
     */
    public static final String REDIS_OBLIGATION_ORDER_KEY = "obligation_order_id:";

    /**
     * 存放redis缓存的退订中订单状态待审核的key前缀
     */
    public static final String REDIS_AUDIT_ORDER_KEY = "audit_order_id:";

    /**
     * 房费来源:1房屋配置
     */
    public static final String EXPENSES_SOURCE_ALLOCATION = "1";

    /**
     * 房费来源:2价格日历
     */
    public static final String EXPENSES_SOURCE_CALENDAR = "2";

    /**
     * 房费类型1.下单
     */
    public static final String EXPENSES_TYPE_PLACE_ORDER= "1";
    /**
     * 房费类型2.续租
     */
    public static final String EXPENSES_TYPE_RELET_ORDER= "2";

    /**
     * 收费类型:1房费
     */
    public static final String CHARGE_TYPE_HOUSE_PRICE = "1";
    /**
     * 收费类型:2押金
     */
    public static final String CHARGE_TYPE_CASH_PLEDGE = "2";

    /**
     * 退费类型:1房费
     */
    public static final String REFUND_TYPE_HOUSE_PRICE = "1";
    /**
     * 退费类型:2押金
     */
    public static final String REFUND_TYPE_CASH_PLEDGE = "2";
    /**
     * 退费类型:3损坏赔偿
     */
    public static final String REFUND_TYPE_FACILITY = "3";
    /**
     * 退费类型:4.延迟退房费
     */
    public static final String REFUND_TYPE_CHECK_OUT_DELAY = "4";
    /**
     * 退款类型:0.没退
     */
    public static final String REFUND_STATE_NO = "0";
    /**
     * 退款类型:1.退了
     */
    public static final String REFUND_STATE_YES = "1";

    /**
     * 退款类型:1.已住房费
     */
    public static final String REFUND_TYPE_CHECKED_IN = "1";
    /**
     * 退款类型:2.退订费
     */
    public static final String REFUND_TYPE_UNSUBSCRIBE = "2";

    /**
     * 租赁方式 :1月租
     */
    public static final String RENTAL_MODE_MONTH = "1";
    /**
     * 租赁方式 :2一次性
     */
    public static final String RENTAL_MODE_DISPOSABLE = "2";

    /**
     * 订单来源：1订单管理
     */
    public static final String ORDER_SOURCE_ONLINE_BOOKING = "1";

    /**
     * 订单来源：2嗨小克小程序
     */
    public static final String ORDER_SOURCE_ORDER_MANAGEMENT = "2";

    /**
     * 收租日类型:1.每期提前
     */
    public static final String RENT_DAY_TYPE_DAY = "1";

    /**
     * 收租日类型:2.每期第一个月
     */
    public static final String RENT_DAY_TYPE_FIRST_MONTH = "2";

    /**
     * 收租日类型:3.每期提前一个月
     */
    public static final String RENT_DAY_TYPE_PRE_MONTH = "3";
    //endregion

    /**
     * 记录来源：1.B端
     */
    public static final String RECORD_SOURCE_ENTERPRISE = "1";

    /**
     * 记录来源：2.c端
     */
    public static final String RECORD_SOURCE_CONSUMER = "2";

    /**
     * 显示状态:0显示
     */
    public static final String SHOW_STATE_YES = "0";

    /**
     * 显示状态:1隐藏
     */
    public static final String SHOW_STATE_NO = "1";

    //region订单审核常量
    /**
     * 审核记录类型：1签约 2退租 3换房 4转租 5续租
     */
    public final static String AUDIT_RECORD_TYPE_SIGN = "1";
    public final static String AUDIT_RECORD_TYPE_OUT = "2";
    public final static String AUDIT_RECORD_TYPE_CHANGE = "3";
    public final static String AUDIT_RECORD_TYPE_SUBLET = "4";
    public final static String AUDIT_RECORD_TYPE_RELET = "5";
    public final static String AUDIT_RECORD_TYPE_CANCEL_RESERVATION = "6";

    /**
     * 审核记录状态：1待审核
     */
    public final static String AUDIT_RECORD_STATE_AUDIT = "1";
    /**
     * 审核记录状态：2通过
     */
    public final static String AUDIT_RECORD_STATE_PASS = "2";
    /**
     * 审核记录状态：3不通过
     */
    public final static String AUDIT_RECORD_STATE_NOT = "3";

    /**
     * 审核过程:1待处理
     */
    public final static String AUDIT_PROCESS_PENDING = "1";
    /**
     * 审核过程:2退款中
     */
    public final static String AUDIT_PROCESS_REFUND = "2";
    /**
     * 审核过程:3已驳回
     */
    public final static String AUDIT_PROCESS_REJECTED = "3";
    /**
     * 审核过程:4退款异常
     */
    public final static String AUDIT_PROCESS_REFUND_EXCEPTION = "4";
    /**
     * 审核过程:5退款成功
     */
    public final static String AUDIT_PROCESS_REFUND_SUCCESSFUL = "5";

    /**
     * 申请审核来源:1小程序退订
     */
    public final static String AUDIT_SOURCE_MINI_PROGRAM = "1";
    /**
     * 申请审核来源:2企业端退订
     */
    public final static String AUDIT_SOURCE_ENTERPRISE = "2";
    //endregion

    /**
     * 退款状态1.退款中
     */
    public static final String ORDER_STATE_REFUNDED = "1";
    /**
     * 退款状态2.退款异常
     */
    public static final String ORDER_STATE_REFUND_EXCEPTION = "2";
    /**
     * 退款状态3.退款成功
     */
    public static final String ORDER_STATE_REFUND_SUCCESSFUL = "3";
    /**
     * 退款状态4.已取消
     */
    public static final String ORDER_STATE_CANCELED = "4";
    /**
     * 退款状态5.待付款
     */
    public static final String ORDER_STATE_OBLIGATION = "5";
    /**
     * 退款状态6.已补缴
     */
    public static final String ORDER_STATE_SUPPLEMENTARY_PAYMENT = "6";

    /**
     * 退款来源(1.订单管理)
     */
    public static final String CHECK_OUT_SOURCE_ORDER = "1";

    /**
     * 成交方式：1新签 2换房 3续租 4转租
     */
    public static final String TRADING_MODE_SIGN = "1";
    public static final String TRADING_MODE_CHANGE = "2";
    public static final String TRADING_MODE_RELET = "3";
    public static final String TRADING_MODE_SUBLET = "4";


    // region 验房房屋状态
    /**
     * 验房状态：1正常
     */
    public static final String INSPECTION_HOUSE_NORMAL = "1";
    /**
     * 验房状态：2损坏
     */
    public static final String INSPECTION_HOUSE_DAMAGE = "2";
    // endregion


    /**
     * 收租日类型:1.每期提前;
     */
    public static final String ADVANCE_EACH_PERIOD = "1";


    /**
     * 收租日类型:2.每期第一个月;
     */
    public static final String FIRST_MONTH_EACH_PERIOD = "2";


    /**
     *  收租日类型:3.每期提前一个月;
     */
    public static final String ADVANCE_ONE_MONTH = "3";
}
